Within the context of computer systems, a cache is used for temporarily storing data so that the data can be accessed more quickly and/or efficiently than is possible in the memory in which the data normally resides. Thus, volatile memory is used to cache data that resides on non-volatile memory, such as magnetic disks. Similarly, fast volatile memory is used to cache data that resides in slower volatile memory.
In an object system, the data is stored and managed as objects. The objects may be shared across multiple concurrent threads within a single process or across multiple processes. Thus provisions must be made for concurrency control. Shared read locks allow multiple execution threads to read the same object and prevent changes to the object content while the content is being read by another execution thread. An exclusive write lock provides non-shared access to the object while the content of the object is being updated.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.